package com.allesblinkt.mucom.common;

public interface Constants {

	/**
	 * Width of the client window
	 */
	public static final int WINDOW_WIDTH = 256+32 ;

	/**
	 * Height of the client window
	 */
	public static final int WINDOW_HEIGHT = 256+32;
	
	
	/**
	 * Width of screenshot tiles
	 */
	public static final int TILE_WIDTH = 128;
	
	/**
	 * Height of screenshot tiles
	 */
	public static final int TILE_HEIGHT = 128;
	
	/**
	 * How long canone screenshot tile live. (seconds)
	 */
	public static final int TILE_LIFESPAN = 4;
	
	
	/**
	 * How long is a notify message displayed. (seconds)
	 */
	public static final int NOTIFY_TIME = 3;
	
	/**
	 * How long should the amoeba stop before continuing its travel (seconds)
	 */
	public static final int STOP_TIMEOUT = 9;
		
	
	

	public static final int ATTENTION_TIMEOUT = 15;
		

	public static final int ANGRY_TIMEOUT = 20;
		
	
	public static final int THEFT_TIMEOUT = 40;

	

	public static final int MAX_CLIENT_FILES = 3;


	
	
	
	/**
	 * The service to be announced/searched via mdns
	 */
	public static final String SERVICE_NAME = "_mucom._http._tcp.local.";

	/**
	 * Port the server runs on and clients make requests to
	 */
	public static final int SERVER_PORT = 52323;
	
	/**
	 * After what time of inactivity should the PApplet considered dead (seconds)
	 * (seconds)
	 */
	public static final int TICKLE_TIMEOUT = 60;
	
	/**
	 * After what time of inactivity should the client be considered dead. (seconds)
	 * (seconds)
	 */
	public static final int CLIENT_IDLE_TIMEOUT = 8;

	/**
	 * In what interval should the client make requests to the server (seconds)
	 */
	public static final int CLIENT_POLL_INTERVALL = 2;

	/**
     * Time on screen without interaction
     */
	public static final float SCREENTIME = 60;

	/**
     * After what time is the amoeba killed on one screen and passed to the next client (seconds)
     */
	public static final float SCREENTIME_KILL = 120;

	/**
	 * Framerate of the server and client.
	 */
	public static final int FRAMERATE = 30;

	/**
	 * Logger reference String for the Client
	 */
	public static final String CLIENT_LOGGER = "ClientLogger";
	
	/**
	 * Logger reference String for the Server
	 */
	public static final String SERVER_LOGGER = "ServerLogger";

	/**
	 * HTTP Content-type the server and client use.
	 */
	public static final String CONTENT_TYPE = "application/xml";
	
	/**
	 * How does the HTTP identify itself
	 */
	public static final String SERVER_STRING = "Puddle/1.0 (SomeServer 4.0)";

}
